package com.rc.saas.tenant.service.enterprise;

import com.github.pagehelper.PageInfo;
import com.rc.saas.tenant.base.BaseService;
import com.rc.saas.tenant.common.vo.TResponse;
import com.rc.saas.tenant.mapper.enterprise.EnterpriseSubmemberApplyMapper;
import com.rc.saas.tenant.model.enterprise.EnterpriseSubmemberApply;
import com.rc.saas.tenant.model.enterprise.EnterpriseSubmemberApplyExample;
import com.rc.saas.tenant.model.tenant.TenantUser;
import com.rc.saas.tenant.search.enterprise.EnterpriseSubMemberApplySearch;
import com.rc.saas.tenant.vo.enterprise.EnterpriseSubMemberApplyResult;

/**
 * @author frog
 * @date 2021/2/7
 */
public interface EnterpriseSubmemberApplyService extends BaseService<Long, EnterpriseSubmemberApply, EnterpriseSubmemberApplyExample, EnterpriseSubmemberApplyMapper> {
    PageInfo<EnterpriseSubMemberApplyResult> listPageEntSubmember(EnterpriseSubMemberApplySearch search);

    TResponse saveApplyRecord(EnterpriseSubmemberApply enterpriseSubmemberApply, TenantUser user);

    void updateSubmemberApplyForAudit(Long id, String status, String reason);

    void deleteSubmemberApply(Long id);

    void updateSubmemberApply(EnterpriseSubmemberApply enterpriseSubmemberApply);

    EnterpriseSubmemberApply selectByMember(Long memberId);

    void insertReturnId(EnterpriseSubmemberApply enterpriseSubmemberApply);
}
